/**************************************************************************
** Yabet is bloging editor tool that supports many blog's formats. It is very usefull for crossposting, allows easily to
** make posts to your blogs.
**
** Copyright (C) 2010 Valery Konchin <eeexception@gmail.com>
**
** This program is free software: you can redistribute it and/or modify
**     it under the terms of the GNU General Public License as published by
**     the Free Software Foundation, either version 3 of the License, or
**     (at your option) any later version.
**
**     This program is distributed in the hope that it will be useful,
**     but WITHOUT ANY WARRANTY; without even the implied warranty of
**     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
**     GNU General Public License for more details.
**
**     You should have received a copy of the GNU General Public License
**     along with this program.  If not, see <http://www.gnu.org/licenses/>.
**************************************************************************/

#ifndef YABETTEXTMARKUP_H
#define YABETTEXTMARKUP_H

#include <QString>
#include <QStringList>
#include "yabettextmarkupelement.h"

class YabetTextMarkup
{
public:
    static const QString BOLD_ELEMENT_NAME;
    static const QString ITALIC_ELEMENT_NAME;
    static const QString CODE_ELEMENT_NAME;
    static const QString PRE_ELEMENT_NAME;
    static const QString LINK_ELEMENT_NAME;
    static const QString IMAGE_ELEMENT_NAME;
    static const QString TEXT_CUT_ELEMENT_NAME;
    static const QString VIDEO_ELEMENT_NAME;
    static const QString LINE_BREAK_ELEMENT_NAME;
    static const QString LIST_ELEMENT_NAME;
    static const QString USER_ELEMENT_NAME;
    static const QString QUOTE_ELEMENT_NAME;
    static const QString PARAGRAPH_ELEMENT_NAME;
    static const QString FONT_ELEMENT_NAME;

    static const QString PROPERTIES_FILE_VERSION;

    virtual QString getMarkupName() = 0;

    virtual QStringList getMarkupElementsNames() = 0;
    virtual YabetTextMarkupElement* getMarkupElement(QString markupElementName) = 0;

    virtual QString getPostSite() = 0;
    virtual QString getPostUrl() = 0;
    virtual QString getConfigVersion() = 0;
};

#endif // YABETTEXTMARKUP_H
